package com.canaan.business.service.storehouse;

import java.util.List;
import com.canaan.business.domain.storehouse.StockTransfer;

/**
 * 移库Service接口
 *
 * @author 
 * @date 2023-02-17
 */
public interface IStockTransferService {
    /**
     * 查询移库
     *
     * @param id 移库主键
     * @return 移库
     */
    StockTransfer selectStockTransferById(Long id);

    /**
     * 查询移库列表
     *
     * @param stockTransfer 移库
     * @return 移库集合
     */
    List<StockTransfer> selectStockTransferList(StockTransfer stockTransfer);

    /**
     * 新增移库
     *
     * @param stockTransfer 移库
     * @return 结果
     */
    int insertStockTransfer(StockTransfer stockTransfer);

    /**
     * 批量新增移库
     *
     * @param stockTransferList 移库列表
     * @return 结果
     */
    int batchInsertStockTransfer(List<StockTransfer> stockTransferList);

    /**
     * 修改移库
     *
     * @param stockTransfer 移库
     * @return 结果
     */
    int updateStockTransfer(StockTransfer stockTransfer);

    /**
     * 批量修改移库
     *
     * @param stockTransferList 移库列表
     * @return 结果
     */
    int batchUpdateStockTransfer(List<StockTransfer> stockTransferList);

    /**
     * 批量删除移库
     *
     * @param ids 需要删除的移库主键集合
     * @return 结果
     */
    int deleteStockTransferByIds(Long[] ids);

    /**
     * 删除移库信息
     *
     * @param id 移库主键
     * @return 结果
     */
    int deleteStockTransferById(Long id);

    /**
     * 查询移库
     *
     * @param no 编号
     * @return 移库
     */
    StockTransfer selectStockTransferByNo(String no);

    /**
     * 批量删除移库
     *
     * @param nos 需要删除的编号集合
     * @return 结果
     */
    int deleteStockTransferByNos(String[] nos);

    /**
     * 删除移库信息
     *
     * @param no 编号
     * @return 结果
     */
    int deleteStockTransferByNo(String no);

}
